package vo

import "time"

type ConfigInfoRes struct {
	ID         string      `json:"id"`
	Name       string      `json:"name"`
	Kind       string      `json:"kind"`
	Platform   string      `json:"platform"`
	Describe   string      `json:"describe"`
	Version    string      `json:"version"`
	Label      string      `json:"label"`
	DetailInfo interface{} `json:"detail_info"`
	Created    time.Time   `json:"create_time"`
	Updated    time.Time   `json:"update_time"`
}

type InstanceInfoRes struct {
	GUID             string      `json:"guid"`
	Name             string      `json:"name"`
	ConfigID         string      `json:"config_id"`
	Label            string      `json:"label"`
	Version          string      `json:"version"`
	Describe         string      `json:"describe"`
	Platform         string      `json:"platform"`
	Origin           string      `json:"origin"`
	Kind             string      `json:"kind"`
	Links            interface{} `json:"links"`
	DetailRepoValue  interface{} `json:"detail_value"`
	RunTimeRepoValue interface{} `json:"runtime_value"`
	Created          time.Time   `json:"create_time"`
	Updated          time.Time   `json:"update_time"`

	Terminal map[string]interface{} `json:"terminal"`
}

type InstanceRuntimeRes struct {
	GUID           string                 `json:"guid"`
	Name           string                 `json:"name"`
	Platform       string                 `json:"platform"`
	Version        string                 `json:"version"`
	Describe       string                 `json:"describe"`
	UsedCores      float64                `json:"used_cores"`
	AvgMemUsed     float64                `json:"avg_mem_used"`
	ErrorLogsCount int64                  `json:"error_logs_count"`
	CreateTime     int64                  `json:"create_time"`
	Containers     map[string]interface{} `json:"containers"`
}

type AgentRuntimeRes struct {
	GUID        string      `json:"guid"`
	Name        string      `json:"name"`
	Platform    string      `json:"platform"`
	Hosts       float64     `json:"hosts"`
	Area        string      `json:"area"`
	CpuUsage    float64     `json:"cpu_usage"`
	Cores       float64     `json:"cores"`
	MemSize     float64     `json:"mem_size"`
	MemUsage    float64     `json:"mem_usage"`
	RunningTime int64       `json:"running_time"`
	HostsDetail interface{} `json:"hosts_detail"`
}

type AgentRegisterRes struct {
	Guid   string      `json:"guid"`
	Config interface{} `json:"config"`
}

type HelmConfigInfo struct {
}
